package cn.liccshop.core.entity;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;
import cn.liccshop.sys.base.BaseBean;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 商品表
 * </p>
 *
 * @author LiCC
 * @since 2019-04-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(value = "shop_goods")
public class ShopGoods extends BaseBean {

private static final long serialVersionUID = 1L;

    /**
     * 商品ID
     */
    @TableId(value = "id", type = IdType.UUID)
    private String id;

    /**
     * 分类ID
     */
    @TableField("cat_id")
    private String catId;

    /**
     * 商品所属类型ID，取shop_goods_type
     */
    @TableField("goods_type")
    private String goodsType;

    /**
     * 商品货号
     */
    @TableField("goods_sn")
    private String goodsSn;

    /**
     * A-商品名称
     */
    @TableField("goods_name")
    private String goodsName;

    /**
     * A-商品名称样式
     */
    @TableField("goods_name_style")
    private String goodsNameStyle;

    /**
     * A-商品数量
     */
    @TableField("goods_number")
    private Integer goodsNumber;

    /**
     * A-商品重量
     */
    @TableField("goods_weight")
    private BigDecimal goodsWeight;

    /**
     * A-市场价
     */
    @TableField("market_price")
    private BigDecimal marketPrice;

    /**
     * A-成本价
     */
    @TableField("cost_price")
    private BigDecimal costPrice;

    /**
     * A-销售价格
     */
    @TableField("shop_price")
    private BigDecimal shopPrice;

    /**
     * A-商品库存报警数量
     */
    @TableField("warn_number")
    private Integer warnNumber;

    /**
     * A-关键字
     */
    @TableField("keywords")
    private String keywords;

    /**
     * A-商品简短描述
     */
    @TableField("goods_brief")
    private String goodsBrief;

    /**
     * A-商品详细描述
     */
    @TableField("goods_desc")
    private String goodsDesc;

    /**
     * A-商品单位
     */
    @TableField("goods_unit")
    private String goodsUnit;

    /**
     * 商品排序
     */
    @TableField("sort_order")
    private Integer sortOrder;

    /**
     * 点击数
     */
    @TableField("click_count")
    private Integer clickCount;

    /**
     * 商品评论数
     */
    @TableField("comments_number")
    private Integer commentsNumber;

    /**
     * 是否有运费（0无运费，1有运费）
     */
    @TableField("is_shipping")
    private Byte shipping;

    /**
     * 运输费用
     */
    @TableField("shipping_fee")
    private BigDecimal shippingFee;

    /**
     * 是否促销（0非促销，1促销）
     */
    @TableField("is_promote")
    private Byte promote;

    /**
     * 促销价格
     */
    @TableField("promote_price")
    private BigDecimal promotePrice;

    /**
     * 促销开时间
     */
    @TableField("promote_start_date")
    private LocalDateTime promoteStartDate;

    /**
     * 促销结束时间
     */
    @TableField("promote_end_date")
    private LocalDateTime promoteEndDate;

    /**
     * 是否团购（0非团购，1团购）
     */
    @TableField("is_volume")
    private Byte volume;

    /**
     * 团购基数
     */
    @TableField("sales_volume_base")
    private Integer salesVolumeBase;

    /**
     * 是否限购（0非限购，1限购）
     */
    @TableField("is_limit_buy")
    private Byte limitBuy;

    /**
     * 限购开始时间
     */
    @TableField("limit_buy_start_date")
    private LocalDateTime limitBuyStartDate;

    /**
     * 限购结束时间
     */
    @TableField("limit_buy_end_date")
    private LocalDateTime limitBuyEndDate;

    /**
     * 限购设定数量
     */
    @TableField("limit_buy_num")
    private Integer limitBuyNum;

    /**
     * 加入推荐（0非精品，1精品）
     */
    @TableField("is_best")
    private Byte best;

    /**
     * 加入推荐（0非新品，1新品）
     */
    @TableField("is_new_goods")
    private Byte newGoods;

    /**
     * 加入推荐（0非热销，1热销）
     */
    @TableField("is_hot")
    private Byte hot;

    /**
     * 是否开放销售（0非销售，1销售）
     */
    @TableField("is_on_sale")
    private Byte onSale;

    /**
     * 是否显示（0非显示，1显示）
     */
    @TableField("is_display")
    private Byte display;

    /**
     * 是否删除到回收站（0非删除，1删除）
     */
    @TableField("is_del_recycle")
    private Byte delRecycle;

    /**
     * 商家备注，仅商家可见
     */
    @TableField("seller_note")
    private String sellerNote;

    /**
     * 销售数量
     */
    @TableField("integral")
    private Integer integral;

    /**
     * 赠送消费几积分数
     */
    @TableField("give_integral")
    private Integer giveIntegral;

    /**
     * 赠送等级积分数
     */
    @TableField("rank_integral")
    private Integer rankIntegral;

    /**
     * 商品审核状态
     */
    @TableField("review_status")
    private Integer reviewStatus;

    /**
     * 商品审核不通过内容
     */
    @TableField("review_content")
    private String reviewContent;

    /**
     * 创建者
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建时间
     */
    @TableField(value = "create_date", fill = FieldFill.INSERT)
    private LocalDateTime createDate;

    /**
     * 更新者
     */
    @TableField(value = "update_by", fill = FieldFill.UPDATE)
    private String updateBy;

    /**
     * 更新时间
     */
    @TableField(value = "update_date", fill = FieldFill.UPDATE)
    private LocalDateTime updateDate;

    /**
     * 备注信息
     */
    @TableField("remarks")
    private String remarks;

    /**
     * 备注
     */
    @TableField("del_flag")
    private String delFlag;


    /**
     * 最近销量
     */
    @TableField(exist = false)
    private Integer hotSalesVolume;


}
